The background description provided herein is for the purpose of generally presenting the context of the disclosure. Work of the presently named inventors, to the extent the work is described in this background section, as well as aspects of the description that may not otherwise qualify as prior art at the time of filing, are neither expressly nor impliedly admitted as prior art against the present disclosure.
A global navigation satellite system (GNSS) is a satellite-based navigation system used to determine a position (or a geographic location) of a receiver on Earth. The Global Positioning System (GPS) is an example of a GNSS. The GPS includes a constellation of 24 satellites (21 GPS satellites and three spare satellites) that orbit the Earth at 10,600 miles above the Earth. The satellites are spaced so that from any point on Earth, at least four satellites will be above the horizon. The satellites enable a receiver to determine a position (e.g., a geographic location) of the receiver. In commercial applications, the accuracy of a determined position can vary between 100 meters to 10 meters from an actual position of a receiver. In other applications requiring more precision—e.g., military applications, survey applications, or the like—the accuracy of a determined position can be within one meter from an actual position of a receiver.
Each satellite includes a computer, an atomic clock, and a radio. With knowledge of its own orbit and clock, each satellite periodically broadcasts its position and time. Each satellite transmits signals (referred to herein as “satellite signals”) at precise intervals. On the ground, a receiver includes a computer that converts information received in the satellite signals into data including position, velocity, and time estimates. Using the data received from a given satellite, a receiver can calculate a position of the given satellite, and the distance between given satellite and the receiver. Accordingly, the receiver can then use triangulation or other techniques to determine a position of the receiver by obtaining similar information from a number of other satellites.
The receiver may use a code tracking loop and a carrier tracking loop to track a code phase and carrier frequency (or carrier phase) of received GNSS signals. FIG. 1 shows an example receiver 100 implementing a tracking loop. In one example, the tracking loop corresponds to baseband correlators 108, a code discriminator 112, a carrier discriminator 116, and loop filters 120 and 124. The baseband correlators 108 receive a GNSS signal and output in phase (I) and quadrature (Q) signals based on the GNSS signal. The I and Q signals include Iprompt and Qprompt signals (e.g., corresponding to samples aligned with the incoming GNSS signal), Ilater and Qlater signals (e.g., corresponding to samples subsequent to the incoming GNSS signal), and Iearly and Qearly signals (e.g., corresponding to samples prior to the incoming GNSS signal) generated by respective ones of the correlators 108. For example only, the code discriminator 112, the loop filter 120, and associated components of the correlators 108 define a code tracking loop (e.g., a delay lock loop, or DLL). Conversely, the carrier discriminator 116, the loop filter 124, and associated components of the correlators 108 (e.g., a numerically controlled oscillator, or NCO, a voltage controlled oscillator, or VCO, etc., not shown) define a carrier tracking loop (e.g., a frequency lock loop, or FLL, a phase locked loop, or PLL, etc.).
The code discriminator 112 calculates a code phase error associated with the received signal based on the Iprompt and Qprompt signals, the Ilater and Qlater signals, and the Iearly and Qearly signals. For example only, the code discriminator 112 may calculate the code phase error according to
                                          I            early            2                    +                      Q            early            2                              -                                    I            later            2                    +                      Q            later            2                                                                    I            early            2                    +                      Q            early            2                              +                                    I            later            2                    +                      Q            later            2                                ,                    (                              I            early                    -                      I            later                          )            ⁢              I        prompt              +                  (                              Q            early                    -                      Q            later                          )            ⁢              Q        prompt              ,etc. Conversely, the carrier discriminator 116 calculates a carrier frequency error, or carrier Doppler error (i.e., a Doppler frequency shift), associated with the received signal based on the Iprompt and Qprompt signals. The correlators 108 selectively adjust (i.e., “track”) the Iprompt and Qprompt signals, the Ilater and Qlater signals, and the Iearly and Qearly signals based on the calculated code phase error and Doppler frequency shift.